Node.js TypeScript

TypeScript দিয়ে নিরাপদ এবং রক্ষণাবেক্ষণযোগ্য Node.js অ্যাপ্লিকেশন তৈরি করতে শিখুন

TypeScript কি?

টাইপস্ক্রিপ্ট হল জাভাস্ক্রিপ্টের একটি সুপারসেট যা ঐচ্ছিক স্ট্যাটিক টাইপিং যোগ করে।

এটি আপনাকে তাড়াতাড়ি বাগ ধরতে এবং নিরাপদ, আরও রক্ষণাবেক্ষণযোগ্য কোড লিখতে সাহায্য করে।

📚আরো বিস্তারিত জানার জন্য:

আরো বিস্তারিত জানার জন্য আমাদের TypeScript টিউটোরিয়াল দেখুন।

Node.js এর সাথে TypeScript ব্যবহার করা

Node.js TypeScript , TypeScript :

npm install -g typescript
npm install --save-dev @types/node

.ts ফাইলে আপনার কোড লিখুন এবং জাভাস্ক্রিপ্টে কম্পাইল করুন:

tsc yourfile.ts

একটি টাইপস্ক্রিপ্ট প্রকল্প সেট আপ করা হচ্ছে

1. একটি নতুন Node.js প্রকল্প শুরু করুন

npm init -y

2. TypeScript এবং টাইপ সংজ্ঞা ইনস্টল করুন

npm install --save-dev typescript @types/node

3. TypeScript ফ্রেমওয়ার্ক শুরু করুন

npx tsc --init

টাইপস্ক্রিপ্ট বেসিক

1. মৌলিক বিভাগ

// Primitive types
let isDone: boolean = false;
let count: number = 10;
let name: string = 'TypeScript';

// Arrays
let numbers: number[] = [1, 2, 3];
let names: Array = ['Alice', 'Bob'];

// Tuples
let user: [string, number] = ['Alice', 25];

// Enums
enum Color {Red, Green, Blue}
let color: Color = Color.Green;

2. ইন্টারফেস এবং প্রকার

// Interface interface User {
  id: number;
  name: string;
  email?: string; // Optional property
}

// Type alias
type Point = {
  x: number;
  y: number;
};

// Using the interface
function printUser(user: User) {
  console.log(`User: ${user.name}`);
}

Node.js সহ TypeScript

1. একটি সাধারণ HTTP সার্ভার তৈরি করা

// server.ts
import http from 'http';

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello, TypeScript!');
});

const PORT = process.env.PORT || 3000;
server.listen(PORT, () => {
  console.log(`Server running on port ${PORT}`);
});

2. এক্সপ্রেসের সাথে টাইপস্ক্রিপ্ট ব্যবহার করা

# Install required packages
npm install express
npm install --save-dev @types/express
// app.ts
import express, { Request, Response } from 'express';
interface User {
  id: number;
  name: string;
}
const app = express();
app.use(express.json());
// In-memory database
let users: User[] = [];
// Get all users
app.get('/users', (req: Request, res: Response) => {
  res.json(users);
});
// Add new user
app.post('/users', (req: Request, res: Response) => {
  const user: User = req.body;
  users.push(user);
  res.status(201).json(user);
});
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
  console.log(`Server running on port ${PORT}`);
});

টাইপস্ক্রিপ্ট ফ্রেমওয়ার্ক

tsconfig.json

{
  "compilerOptions": {
    "target": "es2018",
    "module": "commonjs",
    "outDir": "./dist",
    "rootDir": "./src",
    "strict": true,
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules"]
}

কী কম্পাইলার বিকল্প:

target

ECMAScript টার্গেট সংস্করণ নির্দিষ্ট করুন

module

ব্লক কোড জেনারেশন নির্দিষ্ট করুন

strict

সমস্ত কঠোর টাইপ চেকিং বিকল্পগুলি সক্ষম করুন৷

outDir

আউটপুট গঠন ডিরেক্টরিতে পুনঃনির্দেশিত করুন

rootDir

ইনপুট ফাইলের রুট ডিরেক্টরি উল্লেখ করুন

কেন Node.js এর সাথে TypeScript ব্যবহার করবেন?

টাইপস্ক্রিপ্টের সুবিধা:

টাইপ সুরক্ষা

রানটাইমের পরিবর্তে কম্পাইলের সময় ত্রুটিগুলি ধরুন

উন্নত IDE সমর্থন

আরও ভাল স্বয়ংক্রিয়-সম্পূর্ণতা এবং কোড নেভিগেশন

স্ব-রেফারেন্সিং কোড

বিভাগগুলি নথি হিসাবে কাজ করে

সহজ পুনর্নির্মাণ

নিরাপদে ভেরিয়েবলের নাম পরিবর্তন করুন এবং কোড আপডেট করুন

ধীরে ধীরে গ্রহণ

বিদ্যমান জাভাস্ক্রিপ্ট কোডে ক্রমবর্ধমানভাবে বিভাগ যোগ করুন

টাইপস্ক্রিপ্ট কখন ব্যবহার করবেন:

একাধিক ডেভেলপার সহ বড় কোডবেস
সেফটি ক্রিটিক্যাল এপিআই টাইপ করুন
দীর্ঘ সময় ধরে রক্ষণাবেক্ষণ করা প্রকল্প
জটিল ডেটা স্ট্রাকচার নিয়ে কাজ করার সময়

অনুশীলন করুন

TypeScript-এ একটি সাংখ্যিক অ্যারে নির্ধারণ করতে সঠিক সিনট্যাক্স বেছে নিন।

let numbers: array<number> = [1, 2, 3];
✗ ভুল! "অ্যারে<number>" টাইপস্ক্রিপ্টে একটি বৈধ সিনট্যাক্স নয়
let numbers: number[] = [1, 2, 3];
✓ ঠিক আছে! টাইপস্ক্রিপ্টে একটি সংখ্যা বিন্যাস সংজ্ঞায়িত করার জন্য "সংখ্যা[]" হল সঠিক সিনট্যাক্স
let numbers: Array number = [1, 2, 3];
✗ ভুল! টাইপস্ক্রিপ্টে "অ্যারে নম্বর" বৈধ সিনট্যাক্স নয়
let numbers: []number = [1, 2, 3];
✗ ভুল! টাইপস্ক্রিপ্টে "[]সংখ্যা" বৈধ সিনট্যাক্স নয়